package com.xianyun.site.support.api;

import com.alibaba.cola.dto.Response;
import com.xianyun.site.support.dto.ReceiveCmd;

/**
 * 接收策略
 * 1、分析操作码
 * 2、并发校验
 * 3、将解析后的数据传递给后续对应处理层级的Service
 * @author mac_zyj
 */
public interface ReceiveStrategy {

    /***
     * 策略分析  和后续的各个子模块的策略类似
     * 1、并发校验
     * 2、是否过期
     * .........
     * @param receiveCmd 前置接收数据
     * @return 结果
     */
    Response analysisStrategy(ReceiveCmd receiveCmd);

    /**
     * 操作码分析
     * @param receiveCmd 前置接收数据
     * @return 结果
     */
    Response operateCodeAnalysis(ReceiveCmd receiveCmd);

    /***
     * 可行性分析
     * @param receiveCmd 前置接收数据
     * @return 结果
     */
    Response feasibilityAnalysis(ReceiveCmd receiveCmd);
}
